package com.deyuanyun.pic.integalz.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.deyuanyun.pic.business.controller.dto.PipeLineNewTaskVO;
import com.deyuanyun.pic.ctrl.controller.dto.exinsp.ExinspCipsDcvgDTO;
import com.deyuanyun.pic.ctrl.controller.dto.exinsp.ExinspPcmAcvgDTO;
import com.deyuanyun.pic.ctrl.domain.ExinspOclpoint;
import com.deyuanyun.pic.ctrl.domain.ExinspTask;
import com.deyuanyun.pic.integalz.controller.dto.ExinspAcMiorRecordVO;
import com.deyuanyun.pic.integalz.controller.dto.ExinspCptestStationDTO;
import com.deyuanyun.pic.integalz.controller.dto.ExinspDcMiorRecordVO;
import com.deyuanyun.pic.integalz.controller.dto.ExinspOcgradeVO;
import com.deyuanyun.pic.integalz.controller.dto.IntegalzInspTaskQueryVO;

/**
 * 
 * @author lijun
 * @date 2016-11-16
 * 
 * History: [修改人][时间][修改描述]
 */
public interface PipeLineExternalTaskMapper {
    /**
     * 查询管道上所有外检任务（按检测时间止排序）
     * @param pipeLineId
     * @return
     */
    List<ExinspTask> queryExinspTaskByPipeLine(@Param("pipeLineId") String pipeLineId);
    /**
     * 查询管道上最新外检数据对应的指定距离范围内的漏损点分布
     * @param
     * @return
     */
    List<ExinspOclpoint> queryExinspOclpoint(@Param("query") IntegalzInspTaskQueryVO queryVO,@Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);

    /**
     * 查询管道上最新外检任务对应的指定范围内的测试桩检测数据信息
     * @param
     * @return
     */
    List<ExinspCptestStationDTO> queryExinspCptestStation(@Param("query") IntegalzInspTaskQueryVO queryVO, @Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);

    /**
     * 查询管道上最新外检任务对应的指定范围内的管道图层等级信息
     * @param
     * @return
     */
    List<ExinspOcgradeVO> queryExinspOcgrade(@Param("query") IntegalzInspTaskQueryVO queryVO, @Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);
    /**
     * 统计管道指定距离中最新任务对应的交流干扰监测记录
     * @param query
     * @param exinspTaskList
     * @return
     */
    List<ExinspAcMiorRecordVO> queryExinspAcMiorRecord(@Param("query") IntegalzInspTaskQueryVO query, @Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);

    /**
     * 统计管道指定距离中最新任务对应的直流干扰监测记录
     * @param query
     * @param exinspTaskList
     * @return
     */
    List<ExinspDcMiorRecordVO> queryExinspDcMiorRecord(@Param("query") IntegalzInspTaskQueryVO query, @Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);


    /**
     * 查询pcm、acvg
     * @param queryVO
     * @param exinspTaskList
     * @return
     */
    List<ExinspPcmAcvgDTO> queryExinspPcmAcvg(@Param("query") IntegalzInspTaskQueryVO queryVO,@Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);
 

    /**
     * 查询cips、dcvg
     * @param queryVO
     * @param exinspTaskList
     * @return
     */
    List<ExinspCipsDcvgDTO> queryExinspCipsDcvg(@Param("query") IntegalzInspTaskQueryVO queryVO,@Param("exinspTaskList") List<PipeLineNewTaskVO> exinspTaskList);
    
}
